
(let ((t (make-thread*
	  (lambda ()
	    (thread-sleep! 2)
	    (inform 'a)))))
  (inform 'b)
  (thread-join! t)
  (inform 'c))

(let ((s (make-semaphore)))
  (semaphore-wait/timeout 1 s))	; => #f

(let ((s (make-semaphore)))
  (schedule-after 1 (lambda (t) (semaphore-post s)))
  (semaphore-wait/timeout 2 s))	; => SEMAPHORE-OBJECT
